package paidaxing.blog.core.annotation;

import java.lang.annotation.*;

/**
 * 日志功能注解
 *
 * @author heefM
 * @date 2025-09-02
 */
@Target(ElementType.METHOD)          // 只能用在方法上
@Retention(RetentionPolicy.RUNTIME)  // 运行时保留，这样AOP才能获取到
@Documented                          // 包含在JavaDoc中
public @interface OperationLog {

    /**
     * 模块名称
     */
    String module() default "";

    /**
     * 操作类型
     */
    OperationEnumType type() default OperationEnumType.OTHER;

    /**
     * 操作描述
     */
    String description() default "";

    /**
     * 是否记录参数
     */
    boolean recordParams() default true;

    /**
     * 是否记录返回值
     */
    boolean recordResult() default true;

}
